package com.innovaswc.scrum.persistencia;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Set;


/**
 * The persistent class for the release_producto database table.
 * 
 */
@Entity
@Table(name="release_producto")
public class ReleaseProducto implements Serializable {
	private static final long serialVersionUID = 1L;

	@EmbeddedId
	private ReleaseProductoPK id;

	//bi-directional many-to-one association to Proyecto
	@OneToMany(mappedBy="releaseProducto")
	private Set<Proyecto> proyectos;

	//bi-directional many-to-one association to Producto
    @ManyToOne
	@JoinColumn(name="codigo_producto")
	private Producto producto;

	//bi-directional many-to-many association to BacklogItem
    @ManyToMany
	@JoinTable(
		name="release_scope"
		, joinColumns={
			@JoinColumn(name="release_producto_codigo_producto", referencedColumnName="codigo_producto"),
			@JoinColumn(name="release_producto_tag", referencedColumnName="tag")
			}
		, inverseJoinColumns={
			@JoinColumn(name="backlogitem_id")
			}
		)
	private Set<BacklogItem> backlogitems;

    public ReleaseProducto() {
    }

	public ReleaseProductoPK getId() {
		return this.id;
	}

	public void setId(ReleaseProductoPK id) {
		this.id = id;
	}
	
	public Set<Proyecto> getProyectos() {
		return this.proyectos;
	}

	public void setProyectos(Set<Proyecto> proyectos) {
		this.proyectos = proyectos;
	}
	
	public Producto getProducto() {
		return this.producto;
	}

	public void setProducto(Producto producto) {
		this.producto = producto;
	}
	
	public Set<BacklogItem> getBacklogitems() {
		return this.backlogitems;
	}

	public void setBacklogitems(Set<BacklogItem> backlogitems) {
		this.backlogitems = backlogitems;
	}
	
}